Applying Automata Learning to Complex Industrial Software
نویسندگان
چکیده
Learning models of machines comes very naturally to humans. They construct a mental model of the behaviour of machines while trying out different options. For machines this is much harder. Algorithms have been developed to learn the behaviour of systems and describe them in state machine models. Once such a model has been learned it can be used by software engineers to improve their software. They can simulate and analyse the behaviour of the system, test newer versions of the system and get insight in legacy systems of which no documentation exists. This master thesis describes a case study done at Océ for the ITALIA project at the Radboud University Nijmegen. The goal of this research was to find out whether state-of-the-art techniques and tools for automata learning are powerful enough to learn models of industrial control software. Specifically whether the LearnLib tool developed at the University of Dortmund was able to learn a model of the Engine Status Manager (ESM) developed at Océ. The ESM controls the transition from one status to another in a printer. It delegates status requests to the connected hardware components and coordinates their responses. Software like the ESM can be found in many embedded systems in one form or another. Although such the ESM may seem simple, the many details and exceptions involved make it hard to learn. A system is learned in two alternating phases: A learning phase in which a hypothesis model is created, and a testing phase in which the algorithm searches for a counterexample. This is implemented in the LearnLib. In order to find counterexamples during the test phase using less queries novel techniques had to be developed. Although a correct model of the ESM could not be learnt during this research novel techniques were developed that greatly reduce the number of test queries needed.
منابع مشابه
A Cellular Learning Automata (CLA) Approach to Job Shop Scheduling Problem
Job shop scheduling problem (JSSP), as one of the NP-Hard combinatorial optimization problems, has attracted the attention of many researchers during the last four decades. The overall purpose regarding this problem is to minimize maximum completion time of jobs, known as makespan. This paper addresses an approach to evolving Cellular Learning Automata (CLA) in order to enable it to solve the J...
متن کاملApplying Automata Learning to Embedded Control Software
We explore whether LearnLib, a state-of-the-art automata learning tool, is able to learn a model of the Engine Status Manager (ESM), a piece of control software that is used in many printers and copiers of Océ. Finding counterexamples for incorrect hypotheses for the ESM turns out to be challenging due to the large number of inputs. A first contribution of this paper consists of two novel heuri...
متن کاملAn Optimized Firefly Algorithm based on Cellular Learning Automata for Community Detection in Social Networks
The structure of the community is one of the important features of social networks. A community is a sub graph which nodes have a lot of connections to nodes of inside the community and have very few connections to nodes of outside the community. The objective of community detection is to separate groups or communities that are linked more closely. In fact, community detection is the clustering...
متن کاملUsing cellular automata to predict reliability of modules
Software development is complex process that incorporates many different aspects and is therefore hard to control. For that reason many different metrics are used to capture different aspects of software artefact. On other hand, data-mining from such database should also contain different aspects and try to express nature of software development process. For that reason we use an ensemble of cl...
متن کاملImproving Agent Performance for Multi-Resource Negotiation Using Learning Automata and Case-Based Reasoning
In electronic commerce markets, agents often should acquire multiple resources to fulfil a high-level task. In order to attain such resources they need to compete with each other. In multi-agent environments, in which competition is involved, negotiation would be an interaction between agents in order to reach an agreement on resource allocation and to be coordinated with each other. In recent ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2012